使用按钮 (Button) 节点

使用按钮 (Button) 节点,通过点击、轻敲或按下键盘上的按键来创建交互。使用3D 按钮 (Button 3D) 可以创建 3D 按钮和2D 按钮 (Button 2D),以创建 2D 按钮。

Kanzi 允许您使用以下方法创建按钮:

这两种方法之间的差异是,当使用状态机时,您始终清楚按钮处于哪种状态。例如,当用户点击使用触发器和动作创建的按钮时,动作会发送消息,但您的应用程序不了解按钮的状态。当使用状态机时,您始终可以检查按钮处于哪种状态,必要时甚至可以反转按钮的状态。请参阅使用状态机

当使用触发器和动作创建按钮且用户点击了按钮的可视呈现时,动作会生成一条消息并将其发送给按钮节点,您可以在按钮节点中定义消息的行为。

当创建 按钮 (Button) 节点时,Kanzi 默认会为节点添加 按钮: 点击 (Button:Click) 触发器。当一个按钮 (Button) 节点有焦点时,接收来自键盘按键 SpaceEnter 和数字键盘上 Enter 的输入。使用脚本函数来获取和设置当前在工程中具有焦点的节点。请参阅脚本参考使用触发器

您也可以为按钮 (Button) 节点添加另一个触发器。例如,您可以添加一些在用户按下鼠标中键或取消点击时触发的消息。请参阅使用触发器

当您创建按钮时,按钮并不具备可视形状。要让按钮可见,为该按钮添加一个带内容的节点。您还可以用笔刷填充其背景让2D 按钮 (Button 2D) 节点可见。请参阅调整 2D 节点的外观

要学习如何创建按钮,请完成按钮教程。请参阅教程:创建按钮

创建按钮

要创建按钮:

  1. 工程 (Project)按下 Alt 并右键点击 要在其中创建按钮的那个节点,然后选择3D 按钮 (Button 3D)2D 按钮 (Button 2D)
    请注意,只能在 3D 节点内创建 3D 节点,只能在 2D 节点内创建 2D 节点。
  2. 工程 (Project) 中,为按钮添加可视形状。
    例如,如果您创建了 3D 按钮,请添加方框 (Box),如果您创建了 2D 按钮,请添加 图像 (Image)
  3. 工程 (Project) 中,选择按钮,然后在节点组件 (Node Components) > 触发器 (Triggers) 部分中的按钮: 点击 (Button:Click) 触发器中点击添加 (Add) 下拉菜单并选择一个动作。
    例如,选择写入日志 (Write Log) 动作并将其日志消息 (Log Message) 属性设置为 <Name>
    预览 (Preview) 中,当点击按钮的可视呈现时,写入日志 (Write Log) 动作会将节点的名称写入到日志 (Log) 窗口中。
  4. (可选)使用 Kanzi 附带的 按钮 (Button) 触发器来定义 按钮 (Button) 节点的行为。请参阅使用触发器按钮触发器

控制按钮 (Button) 节点的行为

Kanzi 中,要控制按钮 (Button) 节点的行为,您可以:

使用状态机设置按钮的状态

使用状态机定义 按钮 (Button) 节点如何响应用户输入。例如,您可以设置当用户按下或松开按钮时按钮的外观。要了解如何使用状态机,请参阅教程:使用状态机控制您的应用程序使用状态机。要详细了解如何使用状态机创建按钮,请参阅教程:创建按钮

要使用状态机设置按钮的状态:

  1. 工程 (Project) 中,选择要为其创建状态的按钮 (Button) 节点,并在状态工具 (State Tools) 中为节点创建状态机。
  2. 创建两个状态,一个用于定义按下按钮时的状态,一个用于定义松开按钮时的状态。
  3. 对于每种状态,设置用于设置 按钮 (Button) 节点可视形状的属性的值。
    例如,要设置按下2D 按钮 (Button 2D) 节点时的节点状态,请在图像 (Image) 节点中将图像 (Image) 属性设置为您希望在按下按钮时使用的图像。
  4. 在用于控制按钮 (Button) 状态的状态机的状态工具 (State Tools) 中,将控制器属性 (Controller Property) 设置为为向下 (Is Down)
    在状态机中,您为控制器属性 (Controller Property) 选择的属性值定义状态组中的各个状态处于活动状态时的条件。
    您可以在这里使用为向下 (Is Down) 属性迁移到基于该属性值的状态。为向下 (Is Down) 属性用于控制按钮 (Button) 节点是处于按下还是未按下状态。
  5. 状态工具 (State Tools) 中将状态为Pressed控制器属性 (Controller Property) 的值设为 True。这样您的 Kanzi 应用程序在按钮按下时使用Pressed 状态,在按钮未按下时使用Released 状态。
  6. 状态工具 (State Tools) 中点击编辑状态机 (Edit State Manager) 停用状态工具 (State Tools)

使用按钮 (Button) 触发器

使用 Kanzi 附带的 按钮 (Button) 触发器来定义 按钮 (Button) 节点的行为。要详细了解如何使用触发器,请参阅使用触发器

按钮 (Button) 节点启用双击手势

使用双击手势可以使用户在 Kanzi 应用程序中双击或双敲按钮。使用 多击 (Multi Click) 触发器响应双击手势。例如,您可以更改用户双击或双敲按钮 (Button) 节点时的节点外观。

默认情况下,如果两次点击在 250 毫秒之间,Kanzi 将其视为双击手势。要使用不同的时间,使用 Kanzi Engine API 创建并配置多击操纵器。请参阅使用多击操纵器

要为 按钮 (Button) 节点启用双击手势:

  1. 工程 (Project) 中,选择要启用双击手势的按钮 (Button) 节点,然后在属性 (Properties) 中将双击已启用 (Double-Click Enabled) 属性设置为启用。
  2. 节点组件 (Node Components) > 触发器 (Triggers) 部分添加 多击 (Multi Click) 触发器。
  3. 节点组件 (Node Components) > 触发器 (Triggers) 部分点击多击 (Multi Click) 触发器的添加 (Add) 下拉菜单,选择一个动作,并配置该动作。请参阅使用触发器动作参考

设置 2D 按钮 (Button 2D) 节点的外观

要设置 2D 节点的外观:

在 API 中使用 3D 按钮 (Button 3D) 节点

有关详细信息,请参阅 API reference中的 Button3D 类。

在 API 中使用 2D 按钮 (Button 2D) 节点

有关详细信息,请参阅 API reference中的 Button2D 类。

按钮 (Button) 属性类别和消息

要查看 按钮 (Button) 节点可用属性类别和消息的完整列表,请参阅 Button 2DButton 3D

另请参阅

教程:创建按钮

使用切换按钮 (Toggle Button) 节点

使用切换按钮组 (Toggle Button Group) 节点

按钮

教程:使用状态机控制您的应用程序

使用状态机

使用触发器

使用多击操纵器